package com.tianji.learning.service;

import com.tianji.api.dto.leanring.LearningLessonDTO;
import com.tianji.api.dto.trade.OrderBasicDTO;
import com.tianji.common.domain.dto.PageDTO;
import com.tianji.common.domain.query.PageQuery;
import com.tianji.learning.domain.po.LearningLesson;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tianji.learning.domain.vo.LearningLessonVO;
import com.tianji.learning.domain.vo.LearningPlanPageVO;
import com.tianji.learning.domain.vo.lessonStatusVO;

/**
 * <p>
 * 学生课表 服务类
 * </p>
 *
 * @author hrz
 * @since 2025-08-28
 */
public interface ILearningLessonService extends IService<LearningLesson> {

    void addLesson(OrderBasicDTO order);

    PageDTO<LearningLessonVO> querymyLessons(PageQuery pageQuery);

    LearningLessonVO queryNowLesson();

    Long queryValid(Long courseId);

    lessonStatusVO queryById(Long courseId);

    Integer countLearningLessonByCourse(Long courseId);

    void removeLesson(OrderBasicDTO order);

    void deleteCourse(Long courseId);

    LearningLessonDTO queryLearningRecordByCourse(Long courseId);

    void addPlan(Long courseId, Integer weekFreq);

    LearningPlanPageVO queryPlans(PageQuery pageQuery);
}
